Ŀ Ŀ KALIN LER... ٳ PS 31 ubat'96 Tun Sabuncu Bir sredir bu sayfalarda "ince iler" bal altnda veri yaplarndan sz ediyoruz. Veri yaplar kadar nemli olan bir dier konu da saysal analizdir. inden klmaz gibi grnen denklemleri bilgisayarla kolayca zebilirsiniz. zellikle virglden sonraki saylarn da nemli olduu hesaplamalarda bilgisayarlarn insan beynine ak bir stnl vardr. Bu iddiaya bozulan varsa aadaki denklem sistemine bir gz atabilir: 77.43*X1 + 45.33*X2 + 89.65*X3 = 77.56 56.12*X1 + 90.02*X2 + 12.34*X3 = 55.55 99.01*X1 + 44.99*X2 + 60.11*X3 = 65.22 Aslnda bu tr denklem sistemlerinin zm niversitelerde lineer cebir derslerinde retilir. Katsaylar bir matris oluturacak ekilde yazp satr ilemleri ile ana apraz ( kegen zerindeki elemanlar ) altnda kalan elemanlar sfrlanr ve X'ler bir bir hesaplanr. Ama yukardaki gibi bir soruyu soracak kadar insafsz bir lineer cebir hocas her halde T'de bile yoktur. Neyse, dedikoduyu bir yana brakalm da programdan sz edelim. Bu ayki programmz yukardaki gibi bilinmeyenli denklemden oluan sistemleri zen bir saysal analiz uygulamas. Siz yanlzca katsaylar ve eitliin karsndaki deeri veriyorsunuz, gerisi ona kalm. Programmz yapt satr ilemleri konusunda kullancy aydnlatrken matrisin her bir evredeki halini de ekrana getirerek adeta bir BDE (!) uygulamas gibi alyor. Nasl alr? ok fazla gerekmemekle birlikte kod gene de modler yazld. Bunlardan 'matris_al' altyordam denklem sisteminin katsaylarn matris eklinde alrken 'matris_yaz' da a[i,j] matrisini satr satr yazyor. ( Konuya yeni snan arkadalar bu altyordamlar kendi matris programlarnda kullanabilirler.) Esas nemli olan altyordamlar 'birinci' ve 'ikinci'. Birinci adl yordam arldnda ikinci ve nc satrlarn ilk elemanlarn birinci satrdan yararlanarak sfra eitliyor. kinci ise ikinci satrn ikinci elemann kullanarak nc satrn ikinci elemann sfra eitliyor. Bu ilemlerin sonunda bilinmeyenli denklem yerine bir, iki ve bilinmeyenli denklem ortaya kyor. in geri kalan ksm margarinden sa ekmek kadar kolay. Yazlm Ergonomisi zerine birka lakrd... Programn kodu iinde ak zerine hibir etkisi olmayan writeln'ler greceksiniz. Bunlar olmadan program baz saylar alan ve baz saylar veren bir kara kutu olurdu. Oysa bu basit komutlar sayesinde matris zerinde yaplan satr ilemleri bir bir anlatlyor ve bunlarn etkisi adm adm gsteriliyor. Programn sonlarna doru ise hangi X deerinin nereden geldiini belli etmek iin "...'y urada yerine koyarsak" gibi ifadelerle kullanc aydnlatlyor. Aslnda ergonomik program yazmak ou zaman bu kadar basit. rnein kullancdan bir girdi istendii zaman bunun ne olduunu, nerede nasl kullanlacan aklayan ve bu sayede kolay kullanlan ve hzla renilen programlar yazmak hi zor deil. Bu kodu hem 'kaln iler' gzyle hem de yazlm ergonomisi gzyle inceleyin. Hepinize saysal analizli gnler...